import { createRouter, createWebHistory } from 'vue-router'
// import { loginInfoStore } from '@/stores/index.js'
import NotFound from '@/views/notFound/index.vue'
import home from '@/views/home/index.vue'
// 登录
import login from '@/views/login/index.vue'

// 自动注册导入路由
const moduleFileRoutes = import.meta.glob('@/router/**/index.js', { eager: true });
const moduleFileRoutesList = []

Object.values(moduleFileRoutes).forEach((key) => {
    //在添加任何东西都需要判断是否为空，if的简写
    const mod = key.default || []
    //Array.isArray判断是否为数组
    //因为路由不一定都是RouteRecordRaw[]，也可以RouteRecordRaw，对象。从而保证格式一致
    const modList = Array.isArray(mod) ? [...mod] : [mod]
    //添加到空的数组里面，...结构数组，把对象暴露出来
    moduleFileRoutesList.push(...modList)
})


const router = createRouter({
    history: createWebHistory(),
    routes: [
         {
                path: '/',
                name: 'login',
                component: login,
                meta: { title: '用户登录' }
            },
        {
            path: '/home',
            name: 'home',
            component: home,
            meta: { title: '主页' },
            children:[...moduleFileRoutesList]
            
        },

        { path: '/:pathMatch(.*)*', name: 'NotFound', component: NotFound },
    ],
})

// 挂载路由守卫
router.beforeEach((to, from, next) => {

    // 设置标题
    document.title = to.meta.title ? to.meta.title : 'ATTN-WMS对接系统'

    //   // 开启进度条
    //   // to将要访问的路径
    //   // from从哪个路径跳转而来
    //   // next是一个函数表示放行，调用方式（1）next()放行，（2）next('/login') 不放行强行跳转页面
    //   // 如果访问的是login页面则可以直接放行
    if (to.path === '/') return next()
    console.log(to.path)


    // // 判断token值是否存在,不存在直接跳转到登录页面
    // const { token } = loginInfoStore()
    // // console.log(token)
    // if (!token) {
    //     // Notify({ type: 'danger', message: '没有登录' })
    //     ElMessage.error('请先登录')
    //     return next('/')
    // }
    // 存在世界放行
    next()
})

export default router
